Matthias Clasen [Wed, 31 Mar 2021 18:36:24 +0000 (14:36 -0400)]
ngl: Fix offscreen rendering with transforms
There was confusion here about the handling of the
modelview transform. The modelview transform we are
getting is already set up for rendering the node
we are given, so keep it - except for possible adding
an extra scale on top when the texture would otherwise
be too big.
Matthias Clasen [Wed, 31 Mar 2021 18:34:16 +0000 (14:34 -0400)]
ngl: Be explicit about offscreen clipping
Explicitly set all the input arguments.
This makes it clearer what is going on.
Matthias Clasen [Wed, 31 Mar 2021 18:32:47 +0000 (14:32 -0400)]
ngl: Add sonme comments
The GskNglRenderOffscreen struct is a mix of in and
out arguments. Better annotate that a little bit.
Anders Jonsson [Tue, 30 Mar 2021 17:13:11 +0000 (17:13 +0000)]
Update Swedish translation
Matthias Clasen [Tue, 30 Mar 2021 16:09:34 +0000 (16:09 +0000)]
Merge branch 'docs' into 'master'
docs: Cover corner-case of @line_number = total lines in buffer
See merge request GNOME/gtk!3373
Matthias Clasen [Tue, 30 Mar 2021 11:19:15 +0000 (07:19 -0400)]
4.2.0
Matthias Clasen [Tue, 30 Mar 2021 12:48:29 +0000 (08:48 -0400)]
Actually build docs for releases
Matthias Clasen [Tue, 30 Mar 2021 12:19:10 +0000 (08:19 -0400)]
Disable the border-image-url reftest
It seems to make assumptions about text positioning that
are not holding with subpixel positioning. I'm not 100%
sure how that leads to exactly the artifacts that are seen
here, but I am just disabling the test until that is fully
understood.
Matthias Clasen [Tue, 30 Mar 2021 12:01:55 +0000 (08:01 -0400)]
Disable flaky focus tests
Matthias Clasen [Tue, 30 Mar 2021 11:42:18 +0000 (07:42 -0400)]
Disable the label-background reftest
It makes assumptions about text positioning that are
not holding with subpixel positioning. There is no
guarantee that the next word in a multi-word text
starts on an even pixel boundary, as it does when
you break the text into multiple, separately rendered
blocks.
Matthias Clasen [Tue, 30 Mar 2021 11:32:59 +0000 (07:32 -0400)]
Fix tests for new version
Matthias Clasen [Tue, 30 Mar 2021 14:58:53 +0000 (14:58 +0000)]
Merge branch 'ebassi/dist-docs' into 'master'
build: Dist the API references
See merge request GNOME/gtk!3375
Emmanuele Bassi [Tue, 30 Mar 2021 14:42:40 +0000 (15:42 +0100)]
build: Dist the API references
Copy them into the dist root from the build root, so that they will be
available in the release archive.
Jonas Ådahl [Tue, 30 Mar 2021 14:06:33 +0000 (14:06 +0000)]
Merge branch 'issue3791-gtk4' into 'master'
gdk/wayland: Defer processing of globals closures
Closes #3791
See merge request GNOME/gtk!3374
Robert Mader [Sat, 27 Mar 2021 14:48:00 +0000 (15:48 +0100)]
gdk/wayland: Defer processing of globals closures
... until all globals have been received.
The dependency tracking introduced in
4e9be39518 only allows to
specify required globals and processes the closures as soon as
the requirements have been met. There are, however, also optional
dependencies - most notably the primary_selection protocol.
Currently we rely on the fact that compositors like Mutter announce
it before `wl_seat`, even though the order is not specified in
the spec.
Process globals closures only after all globals have been announced,
so optional dependencies can be accommodated.
Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/3791
Avinash Sonawane [Tue, 30 Mar 2021 11:17:33 +0000 (16:47 +0530)]
docs: Cover corner-case of @line_number = total lines in buffer
Matthias Clasen [Tue, 30 Mar 2021 11:15:13 +0000 (11:15 +0000)]
Merge branch 'ngl-text-tweaks' into 'master'
Ngl text tweaks
See merge request GNOME/gtk!3367
Matthias Clasen [Mon, 29 Mar 2021 00:53:46 +0000 (20:53 -0400)]
ngl: Avoid a goto
Reshuffle the code slightly, so we can use a continue
instead.
Matthias Clasen [Mon, 29 Mar 2021 00:22:24 +0000 (20:22 -0400)]
gsk: Avoid empty glyphs early
Strip out PANGO_GLYPH_EMPTY when text nodes are
constructed. Then we don't have to check this special
case in the inner loop in visit_text_node.
Matthias Clasen [Mon, 29 Mar 2021 00:20:50 +0000 (20:20 -0400)]
ngl: Speed up glyph loop
Move some work out of the loop in visit_text_node.
This takes advantage of the fact that the yoffset
of most glyphs is zero, so yphase generally does
not change in a line of text.
Matthias Clasen [Mon, 29 Mar 2021 01:13:23 +0000 (21:13 -0400)]
ngl: We only need two bits for phases
We use 4 phases, so 2 bits are enough.
Matthias Clasen [Tue, 30 Mar 2021 03:34:36 +0000 (23:34 -0400)]
Updates
Matthias Clasen [Tue, 30 Mar 2021 04:16:00 +0000 (04:16 +0000)]
Merge branch 'ngl-trivia' into 'master'
Ngl trivia
See merge request GNOME/gtk!3372
Matthias Clasen [Tue, 30 Mar 2021 03:54:13 +0000 (03:54 +0000)]
Merge branch 'video-player-images' into 'master'
gtk-demo: Allow opening images in video player
See merge request GNOME/gtk!3371
Matthias Clasen [Tue, 30 Mar 2021 03:39:25 +0000 (23:39 -0400)]
gtk-demo: Allow opening images in video player
It works, so why not.
Matthias Clasen [Sun, 28 Mar 2021 20:41:59 +0000 (16:41 -0400)]
ngl: Cosmetics
Remove a local variable in gsk_render_job_visit_text_node.
Matthias Clasen [Sun, 28 Mar 2021 20:41:25 +0000 (16:41 -0400)]
ngl: Improve packing
Pack texture cache entries slightly better.
There was a 4 byte hole here.
Matthias Clasen [Sun, 28 Mar 2021 17:27:28 +0000 (13:27 -0400)]
gsk: Typo fix
Matthias Clasen [Sun, 28 Mar 2021 17:27:09 +0000 (13:27 -0400)]
ngl: Typo fix
Matthias Clasen [Mon, 29 Mar 2021 15:52:51 +0000 (15:52 +0000)]
Merge branch 'frame-rate-benchmark' into 'master'
Add a frame benchmark
See merge request GNOME/gtk!3364
Benjamin Otte [Mon, 29 Mar 2021 15:41:55 +0000 (15:41 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
Closes #3810
See merge request GNOME/gtk!3366
Benjamin Otte [Mon, 29 Mar 2021 13:02:22 +0000 (15:02 +0200)]
mediastream: Insist streams are prepared when they start playing
Applications expect that behavior, so don't let implementations get away
without preparing the stream.
Benjamin Otte [Mon, 29 Mar 2021 15:03:33 +0000 (17:03 +0200)]
gstmedia: Ensure we prepare files without duration
In particular this fixes playback of images.
Fixes #3810
Matthias Clasen [Mon, 29 Mar 2021 12:26:17 +0000 (08:26 -0400)]
Add a frame benchmark
This can be used to gauge what fps we can hope for
in the best case, on a given system.
Yosef Or Boczko [Sun, 28 Mar 2021 22:34:28 +0000 (22:34 +0000)]
Update Hebrew translation
(cherry picked from commit
1beb55083050c975e89f90aa33bd0736581361fc)
Yosef Or Boczko [Sun, 28 Mar 2021 21:31:15 +0000 (21:31 +0000)]
Update Hebrew translation
(cherry picked from commit
4a7e08bb8e4520671393f001197ec77c135a6bb2)
Matthias Clasen [Sun, 28 Mar 2021 17:25:36 +0000 (17:25 +0000)]
Merge branch 'text-node-tweak' into 'master'
textview: Tweak render nodes
See merge request GNOME/gtk!3362
Matthias Clasen [Sun, 28 Mar 2021 17:24:23 +0000 (17:24 +0000)]
Merge branch 'smarter-diff' into 'master'
Smarter diff
See merge request GNOME/gtk!3361
Hugo Carvalho [Sun, 28 Mar 2021 16:35:32 +0000 (16:35 +0000)]
Update Portuguese translation
(cherry picked from commit
ef7cbad45d4f439f5354b0c5df8b12afea179c79)
Matthias Clasen [Sun, 28 Mar 2021 14:59:55 +0000 (10:59 -0400)]
textview: Tweak render nodes
Arrange for the contents to be in a single transform
node that is updated as we scroll. This makes the job
of the render node differ a lot easier, since it does
not have to compare to big containers one-by-one.
Matthias Clasen [Sun, 28 Mar 2021 14:21:18 +0000 (10:21 -0400)]
Add some tests for node diffing
Nothing deep yet, but more can be added.
Matthias Clasen [Sun, 28 Mar 2021 14:18:23 +0000 (10:18 -0400)]
gsk: Make rendernode diffing smarter
Allow comparing container nodes to any other
node, by pretending the other node is a single
child container (if it isn't one already).
This fixes a glitch where we redraw the full
entry text when the blinking cursor goes to
opacity 0, since GskSnapshot then optimizes
away first the opacity node, and then the
single-child container.
Matthias Clasen [Sun, 28 Mar 2021 13:28:40 +0000 (09:28 -0400)]
gsk: Use floorf for floats
Matthias Clasen [Sun, 28 Mar 2021 03:50:36 +0000 (23:50 -0400)]
gsk: Cosmetics
Matthias Clasen [Sun, 28 Mar 2021 14:20:20 +0000 (10:20 -0400)]
ngl: Cosmetics
Remove a commented out line that snuck in with
a recent commit.
Matthias Clasen [Sun, 28 Mar 2021 14:23:35 +0000 (14:23 +0000)]
Merge branch 'fix-memleaks' into 'master'
Fix memleaks
See merge request GNOME/gtk!3360
Matthias Clasen [Sun, 28 Mar 2021 01:52:49 +0000 (21:52 -0400)]
Plug a test memleak
Matthias Clasen [Sun, 28 Mar 2021 01:44:19 +0000 (21:44 -0400)]
Plug a memory leak in an error path
Matthias Clasen [Sun, 28 Mar 2021 01:43:59 +0000 (21:43 -0400)]
Ignore pthread allocations in valgrind
Matthias Clasen [Sun, 28 Mar 2021 01:13:25 +0000 (21:13 -0400)]
tests: Plug a memory leak
Matthias Clasen [Sun, 28 Mar 2021 00:44:18 +0000 (20:44 -0400)]
tests: Make the pixbuf test use TAP
Otherwise, meson just considers this test skipped.
Matthias Clasen [Sun, 28 Mar 2021 00:20:49 +0000 (20:20 -0400)]
asan: Ignore leaks from librsvg
Turns out that there are some leaks from librsvg.
Matthias Clasen [Sat, 27 Mar 2021 23:56:36 +0000 (19:56 -0400)]
tests: Plug memory leaks
This one was pointed out by asan.
Matthias Clasen [Sat, 27 Mar 2021 23:47:05 +0000 (23:47 +0000)]
Merge branch 'fix-memleaks' into 'master'
Fix memleaks
See merge request GNOME/gtk!3359
Matthias Clasen [Sat, 27 Mar 2021 23:11:25 +0000 (19:11 -0400)]
notebook: Don't leak the pages property
We were misuing a transfer-full getter here.
Matthias Clasen [Sat, 27 Mar 2021 23:10:53 +0000 (19:10 -0400)]
stack: Don't leak the pages property
We were misusing a transfer-full getter here.
Matthias Clasen [Sat, 27 Mar 2021 22:40:12 +0000 (18:40 -0400)]
builder: Plug a small memory leak
We were forgetting to free expression info
objects in one place.
Matthias Clasen [Sat, 27 Mar 2021 22:39:37 +0000 (18:39 -0400)]
builder: Add an assertion
This case is clearly not meant to happen.
Assert that it doesn't.
Matthias Clasen [Sat, 27 Mar 2021 21:06:14 +0000 (17:06 -0400)]
settings: Plug a memory leak
It is rare that settings are finalized, but we
still shouldn't leak in that case.
Matthias Clasen [Sat, 27 Mar 2021 21:01:10 +0000 (17:01 -0400)]
Plug a small memory leak
Matthias Clasen [Sat, 27 Mar 2021 20:48:30 +0000 (16:48 -0400)]
bookmarklist: Avoid an invalid read
This shows up when running the objects-finalize
test under valgrind.
Matthias Clasen [Sat, 27 Mar 2021 20:59:54 +0000 (20:59 +0000)]
Merge branch 'ngl-uninitialized-matrix' into 'master'
Ngl uninitialized matrix
See merge request GNOME/gtk!3358
Anders Jonsson [Sat, 27 Mar 2021 20:43:11 +0000 (20:43 +0000)]
Update Swedish translation
(cherry picked from commit
86f3c11d1ea5e15e7ca9c263d52b2f5fdbfa4a18)
Matthias Clasen [Sat, 27 Mar 2021 20:23:40 +0000 (16:23 -0400)]
ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
Matthias Clasen [Sat, 27 Mar 2021 20:23:17 +0000 (16:23 -0400)]
reftests: Plug a few memory leaks
Noticed in passing.
Matthias Clasen [Sat, 27 Mar 2021 20:23:40 +0000 (16:23 -0400)]
ngl: Fix an uninitialized read
We were using the wrong matrix here.
valgrind pointed this point.
Matthias Clasen [Sat, 27 Mar 2021 20:23:17 +0000 (16:23 -0400)]
reftests: Plug a few memory leaks
Noticed in passing.
Matthias Clasen [Sat, 27 Mar 2021 18:22:19 +0000 (14:22 -0400)]
release: Actually include docs
Matthias Clasen [Thu, 25 Mar 2021 11:44:51 +0000 (07:44 -0400)]
Updates
Matthias Clasen [Sat, 27 Mar 2021 14:23:15 +0000 (14:23 +0000)]
Merge branch 'file-chooser-fixes' into 'master'
File chooser fixes
See merge request GNOME/gtk!3356
Matthias Clasen [Sat, 27 Mar 2021 13:57:00 +0000 (09:57 -0400)]
filechooser: Make / work as shortcut again
Typing / is meant to open the location entry, so
prevent search from capturing that key.
Matthias Clasen [Sat, 27 Mar 2021 13:54:20 +0000 (09:54 -0400)]
filechooser: Fix fallout from GtkText
Ever since the GtkText split, the focus is no longer
on an entry, but inside it. The filechooser was never
updated for that.
Matthias Clasen [Sat, 27 Mar 2021 13:53:43 +0000 (09:53 -0400)]
filechooser: Make Ctrl-L work again
Prevent search from preempting the Ctrl-L shortcut
that is meant to show the location entry.
Matthias Clasen [Sat, 27 Mar 2021 12:59:21 +0000 (08:59 -0400)]
layout: Be quiet about trivialities
Commit
8b82993dde5bea985d added a noisy warning
to gtk_distribute_natural_allocation to quiet a
compiler warning. It turn out that the file chooser
managed to trigger this warning, so make it a quiet
return.
Matthias Clasen [Sat, 27 Mar 2021 12:55:51 +0000 (08:55 -0400)]
release: Update included subprojects
Matthias Clasen [Sat, 27 Mar 2021 01:22:41 +0000 (01:22 +0000)]
Merge branch 'double-dead-keys' into 'master'
Double dead keys
See merge request GNOME/gtk!3355
Matthias Clasen [Sat, 27 Mar 2021 00:14:24 +0000 (20:14 -0400)]
Add some more compose tests
These tests changes to the algorithmic dead key
matching.
Matthias Clasen [Fri, 26 Mar 2021 23:50:05 +0000 (19:50 -0400)]
imcontext: Tweak dead key handling
Reshuffle things to allow for a limited amount of
dead key 'chaining'. We keep up to 2 dead keys in
the preedit, so you can type
<dead_acute> <dead_cedilla> <c>
to produce ḉ, while still getting ```c with
<dead_grave> <dead_grave> <dead_grave> <c>.
Matthias Clasen [Fri, 26 Mar 2021 23:48:41 +0000 (19:48 -0400)]
composetable: Limit algorithmic checking
Only check for combinations of up to 2 dead keys with
a base character. We don't want to spend ages generating
all permutations of long sequences.
Matthias Clasen [Fri, 26 Mar 2021 19:33:13 +0000 (19:33 +0000)]
Merge branch 'icon-fallback' into 'master'
Icon fallback
See merge request GNOME/gtk!3353
Matthias Clasen [Fri, 26 Mar 2021 18:15:07 +0000 (14:15 -0400)]
widget-factory: Add missing icons
This removes all the cases where we were showing a missing-image
when running with the hicolor icontheme.
Matthias Clasen [Fri, 26 Mar 2021 17:30:46 +0000 (13:30 -0400)]
widget-factory: Drop two icons from the iconview
This avoids the scrollbar by default, which is nice.
Matthias Clasen [Fri, 26 Mar 2021 17:17:06 +0000 (13:17 -0400)]
icons: Add text-x-generic
The file chooser needs at least one icon that we can
fall back to for non-directories. text-x-generic is
that icon.
Matthias Clasen [Fri, 26 Mar 2021 17:15:19 +0000 (13:15 -0400)]
filechooser: Check that icons exist
Otherwise we end up showing missing-image in the
file chooser, and thats sad.
Matthias Clasen [Fri, 26 Mar 2021 17:15:54 +0000 (13:15 -0400)]
icontheme: Add gtk_icon_theme_has_gicon
Add a utility function to check whether the icontheme
will produce something better than missing-image for
a GIcon. Obviously, we can only answer this question
if the GIcon is a themed icon the begin with.
Matthias Clasen [Fri, 26 Mar 2021 15:59:37 +0000 (11:59 -0400)]
widget-factory: Add emblem-shared-symbolic icon
We use it, so include it.
Matthias Clasen [Fri, 26 Mar 2021 15:59:01 +0000 (11:59 -0400)]
icons: Sync color-select-symbolic with Adwaita
This icon changed a bit since we incorporated it.
Matthias Clasen [Fri, 26 Mar 2021 15:42:09 +0000 (11:42 -0400)]
icons: Add system-run-symbolic
This is used by Adwaita for devel headers, so include it.
Matthias Clasen [Fri, 26 Mar 2021 15:30:51 +0000 (15:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!3351
Matthias Clasen [Fri, 26 Mar 2021 15:30:14 +0000 (11:30 -0400)]
icon: Add a printer icon
This showed up as missing icon in the print dialog when
used with the hicolor icontheme.
Matthias Clasen [Fri, 26 Mar 2021 15:09:50 +0000 (11:09 -0400)]
gdk: Add an arg check to gdk_device_get_timestamp
Pointed out by Emmanuele Bassi.
Matthias Clasen [Fri, 26 Mar 2021 02:39:15 +0000 (22:39 -0400)]
gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
Matthias Clasen [Fri, 26 Mar 2021 15:00:01 +0000 (11:00 -0400)]
icons: Add icons that are used in the inspector
These were showing up as missing icons when opening
the Inspector with the hicolor icontheme:
system-search-symbolic
go-previous-symbolic
go-next-symbolic
display-brightness-symbolic
Matthias Clasen [Fri, 26 Mar 2021 14:51:37 +0000 (14:51 +0000)]
Merge branch 'device-timestamp' into 'master'
Device timestamp
Closes #3792
See merge request GNOME/gtk!3350
Matthias Clasen [Fri, 26 Mar 2021 02:42:10 +0000 (22:42 -0400)]
textview: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.
Fixes: #3792
Matthias Clasen [Fri, 26 Mar 2021 02:40:30 +0000 (22:40 -0400)]
text: Use device timestamps for obscured cursors
Stash away the device timestamp when obscuring
the pointer, and compare it when we decice whether
to unobscure it. This fixes a problem where synthetic
motion events would make the cursor reappear
prematurely.
Matthias Clasen [Fri, 26 Mar 2021 02:39:15 +0000 (22:39 -0400)]
gdk: Add gdk_device_get_timestamp
Give each device a timestamp that reflects the last
user activity with that device, as reflected in the
events that are produced for this device.
Matthias Clasen [Fri, 26 Mar 2021 11:29:47 +0000 (11:29 +0000)]
Merge branch 'pixbuf-loader-check' into 'master'
Make testsuite fail if we lack pixbuf loaders
See merge request GNOME/gtk!3348
Matthias Clasen [Fri, 26 Mar 2021 02:52:30 +0000 (22:52 -0400)]
Be explicit when building gdk-pixbuf subproject
We require png and jpeg loaders.
Matthias Clasen [Fri, 26 Mar 2021 01:22:23 +0000 (21:22 -0400)]
Make testsuite fail if we lack pixbuf loaders
Add a test that requires that we have png and jpeg
loaders.